An instant messaging (“IM”) system generally includes a plurality of client devices coupled to a server or servers of a data network. The client devices typically provide the ability to track and display the presence status of other users connected to the server of the data network. Presence status about other users is organized into contact lists or buddy lists. Each entry in the contact list corresponds to a user of the IM system, or more specifically the user's client device, and includes presence status associated with each entry. Users of the client devices desire up-to-date presence status about the members of their contact list. Although presence information may be passed on a client device, more typically the presence information is associated with a predetermined presence status, such as online or off-line, that is passed on to the client device.
IM systems are designed to handle real-time communications between client devices and do not typically provide features for dealing with users who are off-line or otherwise unavailable for interactive communication. IM users are expected to contact users on their contact lists who are online and available to communicate while ignoring other users who are not available. Thus, IM systems generally are not designed to provide automatic replies to incoming messages sent to unavailable users.
E-mail systems are known to send e-mail replies automatically to incoming e-mail messages, whether or not the target users are available. For example, the Microsoft® Outlook® application by Microsoft Corporation of Redmond, Wash., includes an “Out of Office Assistant” feature that sends an e-mail reply automatically in response to an incoming e-mail message. The e-mail reply is typically customized, in advanced, by the user of the Outlook application based on information contained within the incoming e-mail message. Thus, such e-mail servers and applications are limited since their replies are based only on information contained within each incoming e-mail message.
Accordingly, there is a need for a more informative system for communicating among users and their client devices. More particularly, there is a need for a messaging system that provides replies automatically about a target device that are customized for an originating device based on additional configuration data, particularly information about the originating and/or target device, such as presence and location information, as well as the incoming messages themselves.